<?php

function html_add($name,$val)
{
	if(empty($val))
		return '' ;
	else
		return ' '.$name.'="'.$val.'" ';
}

/**
 * 创建一个网页超级连接
 * @param string $text	显示文本
 * @param string $url	连接地址
 * @param tring $title 标题 [可选]
 * @param string $id  ID名称 [可选]
 */
function html_a($text,$url,$title='',$id='')
{
	return '<a '.html_add('id',$id).' href="'.$url.'"'.html_add('title',$title).' >'.$text.'</a>';
}

/**
 *	创建一个表单
 * @param string		$name	表单元素名称
 * @param strign		$data	表单中的内容 [可选]
 * @param strign		$action	提交的URL地址 [可选]
 * @param string		$method 提交方式 POST  OR  GET ？[可选]
 */
function html_form($name,$data='',$action='',$method='post',$enctype='')
{

	return '<form name="'.$name.'" '.html_add('action',$action).html_add('method',$method).html_add('enctype',$enctype).' /> '.$data.' </form>';
}

/**
 *	创建一个上传组件
 * @param string		$name	表单元素名称
 * @param strign		$data	表单中的内容 [可选]
 * @param strign		$action	提交的URL地址 [可选]
 * @param string		$method 提交方式 POST  OR  GET ？[可选]
 */
function html_file($name='')
{
	if($name=='')
		$name='fileField';
	return '<input type="file" name="'.$name.'"  size="20"  id="'.$name.'" />';
}

/**
 * 创建一个表单文本框
 * @param string $type  Submit or  input !
 * @param string $name  元素名称
 * @param string $value 显示名称 [可选]
 * @param string $id  ID值 [可选]
 */
function html_input($type='input',$name,$value='',$id='')
{
	return '<input type="'.$type.'"  name="'.$name.'" '.html_add('value',$value).html_add('id',$id).' />';
}


/**
 * 创建一个表单文本框
 * @param string $name  元素名称
 * @param string $value 显示值 [可选]
 * @param string $id  ID值 [可选]
 */
function html_text($name,$value='',$id='')
{
	return	html_input('input',$name,$value,$id);
}
/**
 *	创建一个提交按钮
 * @param string $name  元素名称
 * @param string $value 显示名称 [可选]
 * @param string $id  ID值 [可选]
 */
function html_submit($name,$value='',$id='')
{
	return	html_input('submit',$name,$value,$id);
}


/**
 * 给定的数组生成下拉列表
 * @param string $name 标签名称
 * @param array $data 
 * @param mixed $selected 选中的值
 * @param array $key 键/值 标识
 * @param array $default 默认值 
 * @return string html内容
 * 例：
 * $array = array(array('id'=>1,'title'=>'title_1'), array('id'=>2,'title'=>'title_2'));
 * mk_select($array,2,'selectInput',array('value'=>'id','title'=>'title'));
 */
function html_select($name, Array $data, $selected = FALSE,Array $key = null,Array $default = array('value'=>0,'title'=>'请选择！'))
{
	$value='value';
	$title='title';
	if(!empty($key))
	{
		$value = $key['value'];
		$title =$key['title'];
	}
	$str='<select name="'.$name.'" id="'.$name.'">'."\n";
	$str.='<option value="'.$default['value'].'">'.$default['title'].'</option>'."\n";
	for($i=0;$i<count($data) ;$i++)
	{
		if($selected!==false && $selected==$data[$i][$value])
			$str.='<option value="'.$data[$i][$value].'" selected="selected">'.$data[$i][$title].'</option>'."\n";
		else
			$str.='<option value="'.$data[$i][$value].'">'.$data[$i][$title].'</option>'."\n";
	}
	return $str.='</select>';
}

/**
 * 给定的数组生成checkbox 列表
 * @param string $name input名称 例 "ids[]"
 * @param array $data	二维资料数组
 * @param array $checked 一维选中的值数组 默认为null
 * @param array $key 键/值 标识
 * @return string html内容
 */
function html_checkbox($name, Array $data, $checked = array(), Array $key = null)
{
	$value='value';
	$title='title';
	if(!empty($key))
	{
		$value = $key['value'];
		$title =$key['title'];
	}
	$str = '';
	for($i=0;$i<count($data) ;$i++)
	{
		if (count($checked)==0)
		{
			$str.='&nbsp;<input type="checkbox" name="'.$name.'" value="'.$data[$i][$value].'" />'.$data[$i][$title]."\n";
		}
		else
		{
			$flag = FALSE;
			for ($j=0; $j<count($checked); $j++)
			{
				if( $checked[$j]==$data[$i][$value])
				{
					$str.='&nbsp;<input type="checkbox" name="'.$name.'" value="'.$data[$i][$value].'" checked="checked" />'.$data[$i][$title]."\n";
					$flag = true;
					break;
				}
			}
			if (!$flag)
				$str.='&nbsp;<input type="checkbox" name="'.$name.'" value="'.$data[$i][$value].'" />'.$data[$i][$title]."\n";
			$flag = false;
		}
		
			
	}
	return  $str;
}

?>
